package com.ty.dao;

import java.util.List;
import java.util.Map;

import com.ty.entity.Major;

/**
 * 专业数据访问接口
 */
public interface MajorDao {
    /**
     * 添加专业
     * @param major 专业对象
     * @return 影响的行数
     */
    int add(Major major);

    /**
     * 更新专业信息
     * @param major 专业对象
     * @return 影响的行数
     */
    int update(Major major);

    /**
     * 删除专业
     * @param id 专业ID
     * @return 影响的行数
     */
    int delete(int id);

    /**
     * 查询所有专业
     * @return 专业列表
     */
    List<Major> findAll();

    /**
     * 根据专业名称模糊查询
     * @param name 专业名称
     * @return 专业列表
     */
    List<Major> findByName(String name);

    /**
     * 根据ID查询专业
     * @param id 专业ID
     * @return 专业对象
     */
    Major findById(int id);

    /**
     * 获取所有专业信息（Map格式）
     * @return 专业信息列表
     */
    List<Map<String, Object>> getAllMajors();

    /**
     * 根据ID获取专业信息（Map格式）
     * @param id 专业ID
     * @return 专业信息
     */
    Map<String, Object> getMajorById(int id);

    /**
     * 根据名称获取专业信息（Map格式）
     * @param name 专业名称
     * @return 专业信息
     */
    Map<String, Object> getMajorByName(String name);
} 